home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Collection of Internet
/
Collection of Internet.iso
/
faq
/
comp
/
free_com
/
part4
< prev
next >
Wrap
Text File
|
1994-04-01
|
55KB
|
1,391 lines
Newsgroups: comp.compilers,comp.lang.misc,comp.archives.admin,news.answers,comp.answers
Path: bloom-beacon.mit.edu!hookup!news.moneng.mei.com!howland.reston.ans.net!agate!ihnp4.ucsd.edu!pacbell.com!decwrl!decwrl!olivea!grapevine.lcs.mit.edu!think.com!spdcc!iecc!compilers-sender
From: free-compilers@idiom.berkeley.ca.us (Steve Robenalt)
Subject: Catalog of compilers, interpreters, and other language tools [p4of5]
Message-ID: <free4-Apr-94@comp.compilers>
Followup-To: comp.lang.misc
Summary: Monthly posting of free language tools that include source code
Keywords: tools, FTP, administrivia
Sender: compilers-sender@chico.iecc.com
Supersedes: <free4-Mar-94@comp.compilers>
Reply-To: free-compilers@idiom.berkeley.ca.us (Steve Robenalt)
Organization: Idiom Consulting / Berkeley, CA
References: <free3-Apr-94@comp.compilers>
Date: Fri, 1 Apr 1994 12:00:39 GMT
Approved: compilers@iecc.com
Expires: Sun, 1 May 1994 23:59:00 GMT
Lines: 1371
Xref: bloom-beacon.mit.edu comp.compilers:2737 comp.lang.misc:3643 comp.archives.admin:572 news.answers:17143 comp.answers:4374
Archive-name: free-compilers/part4
Last-modified: 1994/3/31
Version: 6.41
concurrent, parallel, and simulation languages
-------------------------------------------------------------------------------
category: concurrent, parellel, and simulation languages
description: This is a fairly broad category of languages. Most of the
implementations in this set are not good enough to be used in
production systems. Some are. In addition to those listed
below, see:
lref: Concurrent Clean
lref: Concurrent ML
lref: EuLisp
lref: Parallaxis
lref: Maisie
lref: micro-C++
lref: MeldC
lref: pm2
language: ABCL/1 (An object-Based Concurrent Language)
package: ABCL/1
version: ?
parts: ?
author: Akinori Yonezawa, ABCL Group now at Department of Information
Science, the University of Tokyo
how to get: ftp pub/abcl1/* from camille.is.s.u-tokyo.ac.jp
description: Asynchronous message passing to objects.
reference: "ABCL: An Object-Oriented Concurrent System", Edited by
Akinori Yonezawa, The MIT Press, 1990, (ISBN 0-262-24029-7)
restriction: no commercial use, must return license agreement
requires: Common Lisp
contact: abcl@is.s.u-tokyo.ac.jp
updated: 1990/05/23
language: ABCL ???
package: ABCL/R2
version: ?
parts: ?
author: masuhara@is.s.u-tokyo.ac.jp, matsu@is.s.u-tokyo.ac.jp,
takuo@is.s.u-tokyo.ac.jp, yonezawa@is.s.u-tokyo.ac.jp
how to get: ftp pub/abclr2/* from camille.is.s.u-tokyo.ac.jp
description: ABCL/R2 is an object-oriented concurrent reflective language
based on Hybrid Group Architecture. As a reflective language,
an ABCL/R2 program can dynamically control its own behavior,
such as scheduling policy, from within user-program. An an
object-oriented concurrent language, this system has almost all
functions of ABCL/1.
requires: Common Lisp
updated: 1993/01/28
language: ALLOY
package: ALLOY
version: 2.0?
parts: interpreter, documentation, examples
author: Thanasis Mitsolides <mitsolid@cs.nyu.edu>
how to get: ftp pub/local/alloy/* from cs.nyu.edu
description: ALLOY is a higher level parallel programming language
appropriate for programming massively parallel computing
systems. It is based on a combination of ideas from
functional, object oriented and logic programming languages.
The result is a language that can directly support
functional, object oriented and logic programming styles
in a unified and controlled framework. Evaluating modes
support serial or parallel execution, eager or lazy
evaluation, non-determinism or multiple solutions etc.
ALLOY is simple as it only requires 29 primitives in all
(half of which for Object Oriented Programming support).
ports: sparc, ?
updated: 1991/06/11
language: Cellang (Cellular Automata)
package: Cellular
version: 2.0
parts: byte-code compiler, runtime, viewer
author: J Dana Eckart <dana@rucs.faculty.cs.runet.edu>
how to get: comp.sources.unix, volume 26
description: A system for cellular automata programming.
updated: 1993/04/03
language: Hermes
package: IBM Watson prototype Hermes system
version: 0.8alpha patchlevel 01
parts: bytecode compiler, compiler(bytecode->C), runtime
author: Andy Lowry <lowry@watson.ibm.com>
how to get: ftp pub/hermes/README from software.watson.ibm.com
description: Hermes is a very-high-level integrated language and
system for implementation of large systems and
distributed applications, as well as for
general-purpose programming. It is an imperative,
strongly typed, process-oriented language. Hermes
hides distribution and heterogeneity from the
programmer. The programmer sees a single abstract
machine containing processes that communicate using
calls or sends. The compiler, not the programmer,
deals with the complexity of data structure layout,
local and remote communication, and interaction with
the operating system. As a result, Hermes programs are
portable and easy to write. Because the programming
paradigm is simple and high level, there are many
opportunities for optimization which are not present in
languages which give the programmer more direct control
over the machine.
reference: Strom, Bacon, Goldberg, Lowry, Yellin, Yemini. Hermes: A
Language for Distributed Computing. Prentice-Hall, Englewood
Cliffs, NJ. 1991. ISBN: O-13-389537-8.
ports: RS6000 Sun-4 NeXT IBM-RT/bsd4.3 (Sun-3 and Convex soon)
discussion: comp.lang.hermes
updated: 1992/03/22
language: PCN
package: PCN
version: 2.0
parts: compiler?, runtime, linker, libraries, tools, debugger,
profiler, tracer
author: Ian Foster <foster@mcs.anl.gov>, Steve Tuecke
<tuecke@mcs.anl.gov>, and others
how to get: ftp pub/pcn/pcn_v2.0.tar.Z from info.mcs.anl.gov
description: PCN is a parallel programming system designed to improve
the productivity of scientists and engineers using parallel
computers. It provides a simple language for specifying
concurrent algorithms, interfaces to Fortran and C, a
portable toolkit that allows applications to be developed
on a workstation or small parallel computer and run
unchanged on supercomputers, and integrated debugging and
performance analysis tools. PCN was developed at Argonne
National Laboratory and the California Institute of
Technology. It has been used to develop a wide variety of
applications, in areas such as climate modeling, fluid
dynamics, computational biology, chemistry, and circuit
simulation.
ports: (workstation nets): Sun4, NeXT, RS/6000, SGI
(multicomputers): iPSC/860, Touchstone DELTA
(shared memory multiprocessors): Symmetry/Dynix
contact: <pcn@mcs.anl.gov>
updated: 1993/02/12
language: LOOPN
package: LOOPN
version: ?
parts: compiler?, simulator
author: ?
how to get: ftp departments/computer_sci*/loopn.tar.Z from ftp.utas.edu.au
description: I wish to announce the availability of a compiler, simulator
and associated source control for an object-oriented petri net
language called LOOPN. In LOOPN, a petri net is an extension
of coloured timed petri nets. The extension means firstly that
token types are classes. In other words, they consist of both
data fields and functions, they can be declared by inheriting
from other token types, and they can be used polymorphically.
The object-oriented extensions also mean that module or subnet
types are classes. LOOPN has been developed over a period of
about 5 years at the University of Tasmania, where it has been
used in teaching computer simulation and the modelling of
network protocols. A petri net is a directed, bipartite graph;
nodes are either places (represented by circles) or transitions
(represented by rectangles). A net is marked by placing tokens
on places. When all the places pointing to a transition (the
input places) have a token, the net may be fired by removing a
token from each input place and adding a token to each place
pointed to by the transition (the output places). Petri nets
are used to model concurrent systems, particularly in the
network protocol area.
contact: Charles Lakos <charles@probitas.cs.utas.edu.au>
updated: 1992/12/20
language: Simula
package: Lund Simula
version: 4.07
parts: ?
author: ?
how to get: ftp misc/mac/programming/+_Simula/* from rascal.ics.utexas.edu
description: ?
contact: Lund Software House AB / Box 7056 / S-22007 Lund, Sweden
updated: 1992/05/22
language: SR (Synchronizing Resources)
package: sr
version: 2.0
parts: ?, documentation, tests
author: ?
how to get: ftp sr/sr.tar.Z from cs.arizona.edu
description: SR is a language for writing concurrent programs.
The main language constructs are resources and
operations. Resources encapsulate processes and
variables they share; operations provide the primary
mechanism for process interaction. SR provides a novel
integration of the mechanisms for invoking and
servicing operations. Consequently, all of local and
remote procedure call, rendezvous, message passing,
dynamic process creation, multicast, and semaphores are
supported.
reference: "The SR Programming Language: Concurrency in Practice",
by Gregory R. Andrews and Ronald A. Olsson, Benjamin/Cummings
Publishing Company, 1993, ISBN 0-8053-0088-0
ports: Sun-4, Sun-3, Decstation, SGI Iris, HP PA, HP 9000/300,
NeXT, Sequent Symmetry, DG AViiON, RS/6000, Multimax,
Apollo, and others.
discussion: info-sr-request@cs.arizona.edu
contact: sr-project@cs.arizona.edu
updated: 1992/09/01
language: UNITY
package: MasPar Unity
version: 1.0
parts: translator(UNITY->MPL), documentation
author: Martin Huber, University of Karlsruhe, Germany
how to get: ftp pub/maspar/maspar_unity* from SanFrancisco.ira.uka.de
description: ?
contact: Lutz Prechelt <prechelt@ira.uka.de>
updated: ?
language: UNITY
package: HOL-UNITY
version: 2.1
parts: verification tool
author: ?
how to get: ?
description: ?
contact: Flemming Andersen <fa@tfl.dk> ?
updated: ?
Forth family languages
-------------------------------------------------------------------------------
category: Forth family languages
description: These are the stack-based postfix languages.
lref: Postscript
iref: (mc6809) 6809, E-Forth
language: Forth
package: TILE Forth
version: 2.1
parts: interpreter
author: Mikael Patel <mip@sectra.se>
how to get: ftp tile-forth-2.1.tar.Z from a GNU archive site
description: Forth interpreter in C; many Forth libraries
conformance: Forth83
restriction: shareware/GPL
ports: unix
updated: 1991/11/13
language: Forth
package: cforth
version: ?
parts: interpreter
author: ?
how to get: comp.sources.unix archive volume 1
description: ?
updated: ?
language: Forth
package: pfe (Portable Forth Environment)
version: 0.8.0
parts: ?
author: Dirk Zoller <duz@roxi.rz.fht-mannheim.de>
how to get: ftp pub/unix/languages/pfe* from duz@roxi.rz.fht-mannheim.de
description: A Forth development system that tries to be correct,
complete, portable, usable and simple. It doesn't try too
hard to be fast.
conformance: all dpANS word sets
ports: Linux, RS/6000, HP-UX
portability: high
updated: 1993/08/11
language: Forth
package: F68K
version: ?
parts: ?
author: ?
how to get: ftp atari/Languages/f68k.* from archive.umich.edu
description: a portable Forth system for Motorola 68k computers
ports: Atari ST/TT, Amiga, Sinclair QL and OS9
portability: very high for 68000 based systems
contact: Joerg Plewe <joerg.plewe@mpi-dortmund.mpg.de>
updated: 1992/12/14
language: Forth
package: 51forth
version: ?
parts: ?
author: Scott Gehmlich
how to get: ftp giovanni/51forth.zip from [130.123.96.9]
description: source and documentation for a 8051 subroutine-
threaded forth
contact: ?
updated: 1993/04/03
language: Mops
package: Mops
version: 2.3.1
parts: compiler, documentation, editor
author: Michael Hore <mikeh@kralizec.zeta.org.au>
how to get: ftp pub/Yerk/? from oddjob.uchicago.edu
description: Like Yerk, Mops is descended from the ex-commercial
object-oriented language Neon. Mops features an
optimizing native-code compiler; it is much faster
than Yerk, but less compatible with Neon. Mops
includes extensions such as multiple inheritance.
ports: Macintosh
language: Kevo (Forth-like)
package: kevo
version: 0.9b6
parts: interpreter, demo programs, user's guide, papers
author: Antero Taivalsaari <tsaari@cs.uta.fi>
how to get: ftp /pub/kevo/* from cs.uta.fi
description: Kevo is a prototype-based object-oriented language for
Macintosh Kevo features a unique prototype-based object model
(which is based neither on classes nor Self-style delegation),
multitasking (both preemptive and cooperative), dynamic memory
management, and an icon-based object browser and editor modeled
loosely after Mac Finder. Kevo has been built around a portable
threaded code interpreter, and is syntactically a close
derivative of Forth.
ports: Macintosh
contact: kevo-interest@ursamajor.uvic.ca
updated: 1993/05/18
language: Yerk
package: Yerk
version: 3.62
parts: ?
author: ?
how to get: ftp pub/Yerk/? from oddjob.uchicago.edu
description: Yerk is an object oriented language based on a
Forth Kernel with some major modifications. It
was originally known as Neon, developed and sold
as a product by Kriya Systems from 1985 to 1989.
Several of us at The University of Chicago have
maintained Yerk since its demise as a product.
Because of the possible trademark conflict that
Kriya mentions, we picked the name Yerk, which is
at least not an acronym for anything, but rather
stands for Yerkes Observatory, part of the Department
of Astronomy and Astrophysics at U of C.
updated: ?
compiler generators and related tools
-------------------------------------------------------------------------------
category: compiler generators and related tools
description: Yacc, and the rest of its family
language: ABC
package: Grammar analysis tools
version: 1
parts: analysis tools, samples, documentation
author: Steven Pemberton <Steven.Pemberton@cwi.nl>
how to get: ftp programming/languages/abc/examples/grammar/*
from ftp.eu.net or ftp.nluug.net
description: Grammar analysis program written in ABC (q.v.) for
answering such questions as "what are the start
symbols of all rules", "what symbols can follow this
symbol", "which rules are left recursive", and so on.
Includes a grammar of ISO Pascal.
reference: Ftp archive includes an article explaining the package.
ports: unix, MSDOS, atari, mac
contact: Steven.Pemberton@cwi.nl
updated: 1993/07/05
language: ? attribute grammar ?
package: Alpha
version: pre-release
parts: semantic-analysis generator?, documentation(german)
author: Andreas Koschinsky <koschins@cs.tu-berlin.de>
how to get: from author
description: I have written a compiler generator. The generator is called
Alpha and uses attribute grammars as specification calculus.
Alpha is the result of a thesis at Technische Universitaet
Berlin. I am looking for someone who would like to test and use
Alpha. Alpha generates compilers from a compiler
specification. This specification describes a compiler in
terminology of attribute grammars. Parser and Scanner are
generated by means of Bison and Flex. Alpha generates an
ASE-evaluator (Jazayeri and Walter). The documentation is in
german since it is a thesis at a german university.
updated: 1993/02/16
language: attribute-grammar extension of Yacc and Lex
package: Ox
version: G1.01
parts: Yacc/Lex/C preprocessor, tutorial, reference manual,
man page, examples, Ox-ready parsers (C, C++, Pascal, Ada,
Fortran)
author: Kurt Bischoff <bischoff@cs.iastate.edu>
how to get: ftp pub/ox/* from ftp.cs.iastate.edu
description: Ox generalizes the function of Yacc in the way that attribute
grammars generalize context-free grammars. Ordinary Yacc and
Lex specifications may be augmented with definitions of
synthesized and inherited attributes written in C syntax. Ox
checks these specifications for consistency and completeness,
and generates from them a program that builds and decorates
attributed parse trees. Ox accepts a most general class of
attribute grammars. The user may specify postdecoration
traversals for easy ordering of side effects such as code
generation. Ox handles the tedious and error-prone details of
writing code for parse-tree management, so its use eases
problems of security and maintainability associated with that
aspect of translator development. Ox is a preprocessor,
and extends the syntax and semantics of Yacc, Lex, and C.
reference: Most compiler textbooks have descriptions of attribute
grammars.
features: LALR(1), semantic-analyzer generation.
bugs: none known. Report bugs to ox-project@cs.iastate.edu.
restriction: Use of Ox is free. Ox-generated code is the property of
the Ox user.
ports: Unix
contact: ox-request@cs.iastate.edu
updated: 1993/11/14
language: BNF (Extended)
package: Gray
version: 3
parts: parser generator(Forth)
author: Martin Anton Ertl <anton@mips.complang.tuwien.ac.at>
how to get: author; version 2 is on various ftp sites
description: Gray is a parser generator written in Forth. It takes
grammars in an extended BNF and produces executable Forth
code for recursive descent parsers. There is no special
support for error handling.
requires: Forth
ports: TILE Release 2 by Mikael Patel
updated: 1992/05/22
language: BNF ??
package: ZUSE
version: ?
parts: parser generator(?)
author: Arthur Pyster
how to get: ? Univ Calif at Santa Barbara ?
description: ll(1) paser generator
requires: Pascal
updated: 1986/09/23
language: BNF ??
package: FMQ
version: ?
parts: paser generator w/error corrector generator
author: Jon Mauney
how to get: ftp from csczar.ncsu.edu
description: ?
status: ?
contact: ?
updated: 1990/03/31
language: BNF ??
package: ATS (Attribute Translation System)
version: ?
parts: ?
author: ? University of Saskatchewan ?
how to get: ?
description: generates table-driven LL(1) parsers with full insert-only
error recovery. It also handles full left-attribute semantic
handling, which is a dream compared to using YACC's parser
actions.
status: ?
contact: ? (suggested: Dave Bocking <bocking@cs.usask.ca>)
updated: 1988/11/29
language: BNF (Extended)
package: PCCTS (Purdue Compiler-Construction Tool Set)
version: 1.10
parts: scanner generator, parser generator (LL(k)), documentation,
tutorial
author: Terence J. Parr <parrt@acm.org>, Will E. Cohen
<cohenw@ecn.purdue.edu>, Henry G. Dietz <hankd@ecn.purdue.edu>
how to get: ftp pub/pccts/1.10 from marvin.ecn.purdue.edu
UK: ftp computing/programming/languages/tools/pccts/*
from src.doc.ic.ac.uk
Macintosh: ftp pub/mac/* from maya.dei.unipd.it
description: PCCTS is similar to a highly integrated version of YACC
and LEX; where ANTLR (ANother Tool for Language
Recognition) corresponds to YACC and DLG (DFA-based
Lexical analyzer Generator) functions like LEX.
However, PCCTS has many additional features which make
it easier to use for a wide range of translation
problems. PCCTS grammars contain specifications for
lexical and syntactic analysis with selective backtracking
("infinite lookahead"), semantic predicates, intermediate-form
construction and error reporting. Rules may employ Extended
BNF (EBNF) grammar constructs and may define parameters,
return values and local variables. Languages described in
PCCTS are recognized via LL(k) parsers constructed in pure,
human-readable, C code. Selective backtracking is available
to handle non-LL(k) constructs. PCCTS parsers may be compiled
with C++.
Now includes SORCERER, a tree parser generator. See entry below.
ports: Unix, DOS, OS/2, Macintosh
portability: very high
discussion: send mail with a body of "subscribe pccts-users your_name"
to pccts-users-request@ahpcrc.umn.edu
contact: Terence J. Parr <parrt@acm.org>
Roberto Avanzi (mocenigo@maya.dei.unipd.it) (for the Mac port)
updated: 1993/09/14
language: BNF (very extended), yacc
package: PRE-CC Xtended
version: 2.30
parts: library, parser generator (LL(oo)), translator(yacc->)
author: Peter Breuer
how to get: ftp pub/Programs/preccx230* from ftp.comlab.ox.ac.uk
(later versions available by subscription)
description: PRECCX is an infinite-lookahead compiler compiler for context
dependent grammars. The generated code is ANSI C.
Specification scripts are in very EBNF with inherited and
synthetic attributes allowed. Scripts can be compiled in
separate modules, and linked together later. Meta-production
rules allowed. The technology is essentially LL(oo) with
optimizations. A converter for yacc scripts is available.
reference: "The PRECC Compiler-Compiler" by P.T. Breuer and J.P. Bowen.
In E. Davies and A. Findlay (eds.),
Proc. UKUUG/SUKUG Joint New Year 1993 Conference,
St. Cross Centre, Oxford, UK, 6-8 January 1993,
ISBN 1 873611 06 4 (UKUUG), 0 9520700 0 6 (SUKUG)
UKUUG/SUKUG Secretariat, Owles Hall, Buntingford,
Herts SG9 9PL, UK, pp 167-182, 1993.
ports: unix, MS-DOS
contact: Peter Breuer <ptb@comlab.ox.ac.uk>,
Jonathan Bowen <bowen@comlab.ox.ac.uk>
updated: 1992/08/25
language: BNF ??
package: LLGen
version: ?
parts: parser generator
author: ? Fischer and LeBlanc ?
how to get: ? ftp from csczar.ncsu.edu ?
description: LL(1) parser generator
conformance: subset of FMQ
reference: "Crafting A Compiler", by Fischer and LeBlanc
status: ?
contact: ?
updated: 1990/03/31
language: BNF ??
package: wacco
version: ?
parts: parser generator
author: ?
how to get: comp.sources.misc volume ?
description: LL(?) parser generator
contact: ?
updated: ?
language: BNF (Extended), BNF (yacc), Modula-2
package: GMD Toolbox for Compiler Construction (aka Cocktail)
version: 9209
parts: parser generator (LALR -> C, Modula-2), documentation,
parser generator (LL(1) -> C, Modula-2), tests,
scanner generator (-> C, Modula-2), tests
translator (Extended BNF -> BNF), translator (Modula-2 -> C),
translator (BNF (yacc) -> Extended BNF), examples
abstract syntax tree generator, attribute-evaluator generator,
code generator
author: ?
how to get: ftp pub/cocktail/dos from ftp.karlsruhe.gmd.de
OS/2: ftp.eb.ele.tue.nl/pub/src/cocktail/dos-os2.zoo
description: A huge set of compiler building tools.
requires: (ms-dos only) DJ Delorie's DOS extender (go32)
(OS/2 only) emx programming environment for OS/2
ports: msdos, unix, os/2
discussion: subscribe to Cocktail using listserv@eb.ele.tue.nl
contact: Josef Grosch <grosch@karlsruhe.gmd.de>
OS/2: Willem Jan Withagen <wjw@eb.ele.tue.nl>
updated: 1992/10/01
language: BNF ????
package: T-gen
version: 2.1
parts: parser generator, documentation, ?
author: Justin Graver <graver@comm.mot.com>
how to get: ftp pub/st80_r41/T-gen2.1/* from st.cs.uiuc.edu
description: T-gen is a general-purpose object-oriented tool for the
automatic generation of string-to-object translators.
It is written in Smalltalk and lives in the Smalltalk
programming environment. T-gen supports the generation
of both top-down (LL) and bottom-up (LR) parsers, which
will automatically generate derivation trees, abstract
syntax trees, or arbitrary Smalltalk objects. The simple
specification syntax and graphical user interface are
intended to enhance the learning, comprehension, and
usefulness of T-gen.
requires: Smalltalk-80
ports: ParcPlace Objectworks/Smalltalk 4.0 & 4.1
updated: 1992/10/18
language: BNF
package: Eli Compiler Construction System
version: 3.5
parts: ?, documentation
author: ?
how to get: ftp pub/cs/distribs/eli/* from ftp.cs.colorado.edu
Europe: ftp unix/eli from ftp.uni-paderborn.de
description: Eli integrates off-the-shelf tools and libraries with
specialized language processors to generate complete compilers
quickly and reliably. It simplifies the development of new
special-purpose languages, implementation of existing languages
on new hardware and extension of the constructs and features of
existing languages.
ports: Sun-4 (SunOS 4 & 5), Ultrix/MIPS, RS/6000, HP-UX, SGI, Linux
discussion: <eli-request@cs.colorado.edu>
contact: <compiler@cs.colorado.edu>, <compiler@uni-paderborn.de>
updated: 1993/11/01
language: BNF (yacc)
package: NewYacc
version: 1.0
parts: parser generator, documenation
author: Jack Callahan <callahan@mimsy.cs.umd.edu>
how to get: ftp src/newyacc.1.0.*.Z from flubber.cs.umd.edu
description: [someone want to fill it in? --ed]
reference: see Dec 89 CACM for a brief overview of NewYacc.
updated: 1992/02/10
language: BNF (yacc)
package: bison
version: 1.22
parts: parser generator, documentation
author: Robert Corbett ?
how to get: ftp bison-1.16.tar.Z from a GNU archive site
description: ?
bugs: bug-gnu-utils@prep.ai.mit.edu
restriction: !! will apply the GNU General Public License to *your* code !!
ports: unix, atari, ?
updated: 1993/09/14
language: BNF (yacc), Lex
package: Bison++, Flex++
version: ?
parts: parser generator, scanner generator, documentation, samples
author: ? Alain Coetmeur <coetmeur@icdc.fr>
how to get: ftp pub/file/{bison,flex,misc}++.tar.gz from iecc.com
description: GNU's Yacc and Lex, retargeted to C++
updated: 1993/07/08
language: BNF (yacc)
package: ? jaccl ?
version: ?
parts: parser generator
author: Dave Jones <djones@megatest.uucp>
how to get: ?
description: a LR(1) parser generator
updated: 1989/09/08
language: BNF (yacc)
package: byacc (Berkeley Yacc)
version: 1.9
parts: parser generator
author: Robert Corbett <Robert.Corbett@eng.sun.com>
how to get: ftp pub/byacc.tar.1.9.Z from vangogh.CS.Berkeley.EDU
description: probably the best yacc variant around. Previously known as
Zoo, and before that, as Zeus.
updated: 1993/02/22
language: BNF (yacc), Lex
package: Lex/Yacc for Turbo Pascal uploaded
version: ?
parts: parser generator, scanner generator, documentation?
author: ?
how to get: iecc.com (140.186.81.1) at pub/file/lyprg.zip.
description: Lex and Yacc retargeted to Pascal.
contact: ? dpoole@hydrogen.oscs.montana.edu (David Poole)
updated: 1993/07/02
language: BNF (yacc), Ada
package: aflex-ayacc
version: 1.2a
parts: parser generator (Ada), scanner generator (Ada)
author: IRUS (Irvine Research Unit in Software)
how to get: ftp pub/irus/aflex-ayacc_1.2a.tar.Z from liege.ics.uci.edu
description: Lex and Yacc equivalents that produce Ada output
announcements: irus-software-request@ics.uci.edu
contact: irus-software-request@ics.uci.edu
updated: 1993/01/06
language: BNF (variant), Icon
package: Ibpag2 (Icon-Based Parser Generation System 2)
version: 1.0 (beta)
parts: parser generator (Icon, SLR(1))
author: Richard L. Goerwitz <goer@midway.uchicago.edu>
how to get: comp.sources.misc archive
description: Ibpag2 is a parser generator for Icon. It does most
of what you would expect. Latest version can handle both
SLR(1) and even GLR (Tomita) grammars.
ports: unix
portability: ? (Unix dependencies?)
updated: 1993/07/13
language: BNF ?, Gofer
package: Ratatosk ?
version: ?
parts: parser generatr (Gofer)
author: Torben AEgidius Mogensen <torbenm@diku.dk>
how to get: ftp pub/diku/dists/Ratatosk.tar.Z from ftp.diku.dk
description: Ratatosk is a SLR parser generator in Gofer (a Haskell variant)
that generates purely functional parsers (also in Gofer). Even
though the sematic value of a production is a function of the
attributes of its right-hand side (and thus apparently purely
synthesized), inherited attributes are easily simulated by
using higher order functions.
ports: ?
updated: ?
language: BNF
package: lalr.ss - An LALR(1) parser generator
version: 0.9
parts: parser generator (->Scheme)
author: Mark Johnson <mj@cs.brown.edu>
how to get: ftp new/lalr.shar from the Scheme Repository
description: A LALR(1) parser generator in and for Scheme.
requires: Scheme
updated: 1993/05/24
language: BURS ?
package: Iburg
version: ?
parts: parser generator?
author: Christopher W. Fraser <cwf@research.att.com>, David R. Hanson
<drh@princeton.edu>, Todd A. Proebsting <todd@cs.arizona.edu>
how to get: ftp pub/iburg.tar.Z from ftp.cs.princeton.edu
description: Iburg is a program that generates a fast tree parser. It is
compatible with Burg. Both programs accept a cost-augmented
tree grammar and emit a C program that discovers an optimal
parse of trees in the language described by the grammar. They
have been used to construct fast optimal instruction selectors
for use in code generation. Burg uses BURS; Iburg's matchers
do dynamic programming at compile time.
updated: 1993/02/10
language: Candle, IDL (Interface Description Language)
package: Scorpion System
version: 6.0
parts: software development environment for developing
software development environments, documentation
author: University of Arizona
how to get: ftp scorpion/* from cs.arizona.edu
description: 20 tools that can be used to construct specialized
programming environments.
The Scorpion Project was started by Prof. Richard
Snodgrass as an outgrowth of the SoftLab Project (which pro-
duced the IDL Toolkit) that he started when he was at the
University of North Carolina. The Scorpion Project is
directed by him at the University of Arizona and by Karen
Shannon at the University of North Carolina at Chapel Hill.
reference: "The Interface Description Language: Definition and Use,"
by Richard Snodgrass, Computer Science Press, 1989,
ISBN 0-7167-8198-0
ports: Sun-3, Sun-4, Vax, Decstation, Iris, Sequent, HP9000
discussion: info-scorpion-request@cs.arizona.edu
contact: scorpion-project@cs.arizona.edu
updated: 1993/11/04
language: COCOL (EBNF variant)
package: COCO/R
version: 1.34
parts: parser generator(LL(1))
author: Hanspeter Moessenboeck <moessenboeck@inf.ethz.ch>
Port to Modula-2 done by Marc Brandis, Christof Brass
and Pat Terry <cspt@alpha.ru.ac.za>
how to get: ftp Oberon/Examples/Coco from neptune.inf.ethz.ch
Modula-2: ftp pub/coco from alpha.ru.ac.za
description: Coco/R generates recursive descent parsers and their associated
scanners from attributed grammars. Coco/R can bootstrap itself
to generate its own driver, parser, scanner, and semantic
evaluator from the attributed grammar CR.ATG. This grammar
thus serves as an an example of how to write compiler
descriptions for Coco. There are also other simpler examples
showing its use.
references: _A compiler generator for microcomputers_, by Rechenberg
and Mossenbock (Prentice Hall, 1989, 0-13-155136-1)
bugs: MS-DOS related versions: Pat Terry <cspt@alpha.ru.ac.za>
Other: Hanspeter Moessenboeck <moessenboeck@inf.ethz.ch>
requires: Oberon or Modula-2
ports: MS-DOS: TopSpeed Modula-2; FST 2.0; FST 3.1; StonyBrook
QuickMod 2.2; Logitech 3.03. Macintosh: Apple MacMeth
status: Oberon version is freely available?, Modula-2 version is
free to academic sites; commercial use requires a license
updated: 1994/01/13
language: EAG (Extended Affix Grammar)
package: EAG
version: first public release
parts: recognizer generator, transduccer generator,
translator generator, editor generator, documentation
author: Marc Seutter <marcs@cs.kun.nl>
how to get: ftp pub/eag/* from hades.cs.kun.nl
description: The Extended Affix Grammar formalism, or shortly EAG, is a
formalism for describing both the context free and the context
sensitive syntax of languages. EAG is a member of the family
of two-level grammars. They are very closely related to
two-level van Wijngaarden grammars. The EAG compiler will
generate either a recognizer or a transducer or a translator or
a syntax directed editor for a language described in the EAG
formalism. [What's a tranducer? --ed]
updated: 1993/09/14
language: lex
package: flex
version: 2.3.8
parts: scanner generator
author: Vern Paxson <vern@ee.lbl.gov>
how to get: ftp flex-2.3.8.tar.Z from a GNU archive site or ftp.ee.lbl.gov
description: ?
updated: ?
language: Milarepa
package: Milarepa Perl/BNF Parser
version: Prototype 1.0
parts: parser-generator, examples, tutorial
author: Jeffrey Kegler <jeffrey@netcom.com>
how to get: comp.lang.perl, direct by E-mail.
The author is seeking an FTP site to hold the software.
description: Milarepa takes a source grammar in the Milarepa language (a
straightforward mix of BNF and Perl) and generates a Perl file,
which, when enclosed in a simple wrapper, parses some third
language described by the source grammar.
This is intended to be a real hacker's parser. It is not
restricted to LR(k), and the parse logic follows directly from
the BNF. It handles ambiguous grammars, ambiguous tokens
(tokens which were not positively identified by the lexer) and
allows the programmer to change the start symbol. The grammar
may not be left recursive. The input must be divided into
sentences of a finite maximum length. There is no fixed
distinction between terminals and non-terminals, that is, a
symbol can both match the input AND be on the left hand side of
a production. Multiple Marpa grammars are allowed in a single
perl program.
It's only a prototype primarily due to poor speed. This is
intended to be remedied after Perl 5.0 is out.
requires: perl
updated: 1993/03/17
language: Pascal, Lisp, APL, Scheme, SASL, CLU, Smalltalk, Prolog
package: Tim Budd's C++ implementation of Kamin's interpreters
version: ?
parts: interpretors, documentation
author: Tim Budd <budd@cs.orst.edu>
how to get: ? ftp pub/budd/kamin/*.shar from cs.orst.edu ?
description: a set of interpretors written as subclasses based on
"Programming Languages, An Interpreter-Based Approach",
by Samuel Kamin.
requires: C++
status: ?
contact: Tim Budd <budd@fog.cs.orst.edu>
updated: 1991/09/12
language: perl, yacc
iref: (Perl) perl-byacc
language: Relation Grammar
package: rl
version: ?
parts: ?
author: Kent Wittenburg <kentw@bellcore.com>
how to get: fto rl/* from flash.bellcore.com
description: The RL files contain code for defining Relational Grammars and
using them in a bottom-up parser to recognize and/or parse
expressions in Relational Languages. The approach is a
simplification of that described in Wittenburg, Weitzman, and
Talley (1991), Unification-Based Grammars and Tabular Parsing
for Graphical Languages, Journal of Visual Languages and
Computing 2:347-370.
This code is designed to support the definition and parsing of
Relational Languages, which are characterized as sets of
objects standing in user-defined relations. Correctness and
completeness is independent of the order in which the input is
given to the parser. Data to be parsed can be in many forms as
long as an interface is supported for queries and predicates
for the relations used in grammar productions. To date, this
software has been used to parse recursive pen-based input such
as math expressions and flowcharts; to check for data integrity
and design conformance in databases; to automatically generate
constraints in drag-and-drop style graphical interfaces; and to
generate graphical displays by parsing relational data and
generating output code.
requires: Common Lisp
ports: Allegro Common Lisp 4.1, Macintosh Common Lisp 2.0
updated: 1992/10/31
language: S/SL (Syntax Semantic Language)
package: ssl
version: ?
parts: parser bytecode compiler, runtime
author: Rick Holt, Jim Cordy <cordy@qucis.queensu.ca> (language),
Rayan Zachariassen <rayan@cs.toronto.edu> (C implementation)
how to get: ftp pub/ssl.tar.Z from neat.cs.toronto.edu
description: A better characterization is that S/SL is a language
explicitly designed for making efficient recusive-descent
parsers. Unlike most other languages, practicially the
LEAST expensive thing you can do in S/SL is recur. A
small language that defines input/output/error token
names (& values), semantic operations (which are really
escapes to a programming language but allow good
abstration in the pseudo-code), and a pseudo-code
program that defines a grammar by the token stream the
program accepts. Alternation, control flow, and
1-symbol lookahead constructs are part of the
language. What I call an S/SL "implementation", is a
program that compiles this S/SL pseudo-code into a
table (think byte-codes) that is interpreted by the
S/SL table-walker (interpreter). I think the pseudo-code
language is LR(1), and that the semantic mechanisms turn it
into LR(N) relatively easily.
+ more powerful and cleaner than yac
- slower than yacc
reference: + Cordy, J.R. and Holt, R.C. [1980] Specification of S/SL:
Syntax/Semantic Language, Computer Systems Research
Institute, University of Toronto.
+ "An Introduction to S/SL: Syntax/Semantic Language" by
R.C. Holt, J.R. Cordy, and D.B. Wortman, in ACM Transactions
on Programming Languages and Systems (TOPLAS), Vol 4, No.
2, April 1982, Pages 149-178.
updated: 1989/09/25
language: TXL
package: TXL: Tree Transformation Language
version: 7.4
parts: translator, documentation, tutorial, examples
author: Jim Cordy <cordy@qucis.queensu.ca>
how to get: ftp pub/txl/* from ftp.qucis.queensu.ca
description: TXL is a language for performing source to source
transformations and is well suited for rapidly prototyping
new languages and language processors. It has also been used to
prototype specification languages, command languages, and more
traditional program transformation tasks such as constant
folding, type inference, source optimization and reverse
engineering. TXL takes as input an arbitrary context-free
grammar in extended BNF-like notation, and a set of
show-by-example transformation rules to be applied to inputs
parsed using the grammar. TXL is a functional/rule-based
hybrid programming language, using the paradigm of structural
transformation.
reference: Several listed in software documentation
updated: 1993/08/04
language: BNF (extended)
package: SORCERER: A Simple Tree Parser Generator
version: 1.00B
parts: translator, documentation, tutorial, examples
author: Terence Parr <parrt@s1.arc.umn.edu>
how to get: ftp pub/pccts/sorcerer/* from marvin.ecn.purdue.edu
description: SORCERER is more suitable for the class of translation problems
lying between those solved by code-generator generators and by
full source-to-source translator generators. SORCERER
generates simple, flexible, top-down, tree parsers that, in
contrast to code-generators, may execute actions at any point
during a tree walk. SORCERER accepts extended BNF notation,
allows predicates to direct the tree walk with semantic and
syntactic context information, and does not rely on any
particular intermediate form, parser generator, or other
pre-existing application.
discussion: send mail with a body of "subscribe pccts-users your_name" to
pccts-users@ahpcrc.umn.edu. "your_name" can be email, or full.
help: from mailing list
support: actively supported, from mailing list
reference: Several listed in software documentation
updated: 1994/02/15
mathematical tools and languages
-------------------------------------------------------------------------------
category: mathematical tools and languages
description: These are either special-purpose languages and tools, or
general purpose langauges and tools that have traditionally
been used for mathematical and scientific computing task.
lref: Fortran
lref: PCN
lref: CLP
lref: Sisal
language: APL
package: I-APL
version: ?
parts: ?
author: ?
how to get: ftp languages/apl/* from watserv1.waterloo.edu
description: ?
updated: 1992/07/06
language: APL
package: APLWEB
version: ?
parts: translator(web->apl), translator(web->TeX)
author: Dr. Christoph von Basum <CvB@erasmus.hrz.uni-bielefeld.de>
how to get: ftp languages/apl/aplweb/* from watserv1.uwaterloo.ca
description: [Should this be listed with the Web entries? -- Ed.]
updated: 1992/12/07
language: APL
iref: (Pascal) Tim Budd's C++ implementation of Kamin's interpreters
language: J
package: J-mode
version: ?
parts: emacs macros
author: ?
how to get: ftp pub/j/gmacs/j-interaction-mode.el from think.com
description: add on to J
updated: 1991/03/04
language: RLaB language (math manipulation - MATLAB-like)
package: RLaB
version: 0.95
parts: interpreter, libraries, documentation
author: Ian Searle <ians@eskimo.com>
how to get: ftp pub/RLaB/* from evans.ee.adfa.oz.au
description: RLaB is a "MATLAB-like" matrix-oriented programming
language/toolbox. RLaB focuses on creating a good experimental
environment (or laboratory) in which to do matrix math
Currently RLaB has numeric scalars and matrices (real and
complex), and string scalars, and matrices. RLaB also contains
a list variable type, which is a heterogeneous associative
array.
bugs: Ian Searle <ians@eskimo.com>
restriction: GNU General Public License
requires: GNUPLOT, lib[IF]77.a (from f2c)
ports: many unix, OS/2, Amiga
updated: 1993/10/27
language: octave language (math manipulation - MATLAB-like)
package: octave
version: 1.0
parts: interpreter, libraries, documentation
author: John W. Eaton
how to get: ftp /pub/octave/* from ftp.che.utexas.edu
also, any GNU archive site (see archive listing below)
description: Octave is a high-level language, primarily intended for
numerical computations. It provides a convenient command line
interface for solving linear and nonlinear problems
numerically.
Octave can do arithmetic for real and complex scalars and
matrices, solve sets of nonlinear algebraic equations,
integrate functions over finite and infinite intervals, and
integrate systems of ordinary differential and
differential-algebraic equations.
bugs: bug-octave@che.utexas.edu
restriction: GNU General Public License
requires: gnuplot, C++ compiler and FORTRAN compiler or f2c translator.
ports: several
updated: 1994/2/23
language: FUDGIT language (math manipulation)
package: FUDGIT
version: 2.27
parts: interpreter
author: Thomas Koenig <ig25@rz.uni-karlsruhe.de> ??
how to get: ftp /pub/linux/sources/usr.bin/fudgit-* from tsx-11.mit.edu ??
description: FUDGIT is a double-precision multi-purpose fitting program. It
can manipulate complete columns of numbers in the form of
vector arithmetic. FUDGIT is also an expression language
interpreter understanding most of C grammar except pointers.
Morever, FUDGIT is a front end for any plotting program
supporting commands from stdin. It is a nice mathematical
complement to GNUPLOT, for example.
requires: GNUPLOT
ports: AIX, HPUX, Linux, IRIX, NeXT, SunOS, Ultrix
updated: 1993/02/22
language: Unix BC (arbitrary-precision arithmetic language)
package: C-BC
version: 1.1
parts: bytecode compiler, interpreter, documentation, examples
author: Mark Hopkins <mark@freenet.uwm.edu>
how to get: alt.sources (10/04/93).
description: A strongly typed version of BC with expanded C-like syntax,
more base types, with ability to form array and pointer types
of any dimension and to allocate/free arrays at run-time.
conformance: Most POSIX-BC features supported, except functions must be
declared consistently and declared before first use. String
handling slightly different.
reference: C-BC implementation notes contained with software documentation
requires: ANSI-C compiler
ports: DOS, Unix
portability: No system dependent features present.
updated: 1993/08/23
language: Unix BC (arbitrary-precision arithmetic language)
package: GNU BC
version: 1.02
parts: parser (yacc), interpreter, BC math library
author: Philip A. Nelson <phil@cs.wwu.edu>
how to get: ftp bc-1.02.tar.Z from a GNU archive site
description: BC is an arbitrary precision numeric processing language with a
C-like syntax that traditionally provided a front-end to DC.
This version, however, is self-contained and internally
executes its own compiled code (unrelated to DC code).
restriction: Source code falls under the GNU CopyLeft.
requires: vsprintf and vfprintf routines
ports: Unix (BSD, System V, MINIX, POSIX)
conformance: Superset of POSIX BC (P10003.2/D11), with a POSIX-only mode.
updated: ?
language: Calc? (symbolic math calculator)
package: Calc
version: 2.02
parts: interpreter, emacs mode, documentation
author: Dave Gillespie <daveg@cs.caltech.edu>
how to get: ftp calc-2.02.tar.z from a GNU archive site
description: Calc is an extensible, advanced desk calculator and
mathematical tool written in Emacs Lisp that runs as part of
GNU Emacs. It is accompanied by the "Calc Manual", which
serves as both a tutorial and a reference. If you wish, you
can use Calc as only a simple four-function calculator, but it
also provides additional features including choice of algebraic
or RPN (stack-based) entry, logarithms, trigonometric and
financial functions, arbitrary precision, complex numbers,
vectors, matrices, dates, times, infinities, sets, algebraic
simplification, differentiation, and integration.
bugs: ?
updated: ?
language: C-like caluculator
package: Arbitrary precision calculator
version: 1.26.4
parts: interpreter
author: David I. Bell <dbell@canb.auug.org.au>
how to get: ftp pub/calc from ftp.uu.net
description: Arbitrary precision C-like calculator [similar to BC? --ed]
ports: Linux
updated: 1993/06/15
language: Unix DC (arbitrary-precision arithmetic language)
package: GNU DC
version: 0.2
parts: interpreter
author: ?
how to get: ftp dc-0.2.tar.Z from a GNU archive site
description: DC is the language for an arbitrary precision postfix
calculator. This version is a subset of DC that handles all
the Unix DC operations, except the (undocumented) array
operations.
status: Attempting integration with GNU BC.
updated: 1993/05/21
language: Fortran
package: f2c
version: 1993.04.28
parts: translator (to C), postscript documentation, man pages,
support libraries.
author: S. I. Feldman, D. M. Gay, M. W. Maimone and N. L. Schryer
how to get: ftp from netlib@research.att.com:netlib/f2c/src/*
description: translator (Fortran 77 to ANSI C or C++)
bugs: D. M. Gay <dmg@research.att.com>
updated: 1993 April 27
language: Fortran
package: Floppy
version: ?
parts: ?
author: ?
how to get: ffccc in comp.sources.misc archive volume 12
description: ?
contact: ?
updated: 1992/08/04
language: Fortran
package: Flow
version: ?
parts: ?
author: Julian James Bunn <julian@vxcrna.cxern.ch>
how to get: comp.sources.misc archive volume 31
description: The Flow program is a companion to Floppy, it allows the user
to produce various reports on the structure of Fortran
77 code, such as flow diagrams and common block tables.
requires: Floppy
ports: VMS, Unix, CMS
updated: ?
language: Fortran
package: Adaptor (Automatic DAta Parallelism TranslatOR)
version: 1.0
parts: preprocessor, library, documentation
author: ?
how to get: ftp gmd/adaptor/adp_1.0.tar.Z from ftp.gmd.de
description: Adaptor is a tool that transforms data parallel
programs written in Fortran with array extensions,
parallel loops, and layout directives to parallel
programs with explicit message passing.
ADAPTOR is not a compiler but a source to source
transformation that generates Fortran 77 host and
node programs with message passing. The new
generated source codes have to be compiled by the
compiler of the parallel machine.
ports: CM-5, iPCS/860, Meiko CS1/CS2, KSR 1, SGI, Alliant,
network of Suns, or RS/6000s
contact: Thomas Brandes <brandes@gmdzi.gmd.de>
updated: 1993/06
language: Fortran, C
package: cfortran.h
version: 2.6
parts: macros, documentation, examples
author: Burkhard Burow
how to get: ftp cfortran/* from zebra.desy.de
description: cfortran.h is an easy-to-use powerful bridge between
C and FORTRAN. It provides a completely transparent, machine
independent interface between C and FORTRAN routines and
global data.
cfortran.h provides macros which allow the C preprocessor to
translate a simple description of a C (Fortran) routine or
global data into a Fortran (C) interface.
reference: reviewed in RS/Magazine November 1992 and
a user's experiences with cfortran.h are to be described
in the 1/93 issue of Computers in Physics.
ports: VAX VMS or Ultrix, DECstation, Silicon Graphics, IBM RS/6000,
Sun, CRAY, Apollo, HP9000, LynxOS, f2c, NAG f90.
portability: high
contact: burow@vxdesy.cern.ch
updated: 1992/04/12
language: Fortran
package: fsplit
version: ?
parts: ?
author: ?
how to get: ?
description: a tool to split up monolithic fortran programs
updated: ?
language: Fortran
package: ?
version: ?
parts: ?
author: Steve Mccrea <mccrea@gdwest.gd.com>
how to get: ?
description: a tool to split up monolithic fortran programs
requires: new awk
updated: ?
language: Fortran
package: Fortran77 -> Fortran90 converter
version: ? 1
parts: translator(Fortran 77 -> Fortran 90), documentation?
author: metcalf@cernvm.cern.ch <Michael Metcalf>
how to get: ftp pub/MandR/convert.f90 from jkr.cc.rl.ac.uk
description: A Fortran77 to Fortran90 translator. There's a number of
significant differences between the two Fortrans that makes
a package like this useful.
updated: 1993/07/17
language: J
package: J from ISI
version: 6
parts: interpreter, tutorial
author: Kenneth E. Iverson and Roger Hui <hui@yrloc.ipsa.reuter.com>
how to get: ftp languages/apl/j/* from watserv1.waterloo.edu
description: J was designed and developed by Ken Iverson and Roger Hui. It
is similar to the language APL, departing from APL in using
using the ASCII alphabet exclusively, but employing a spelling
scheme that retains the advantages of the special alphabet
required by APL. It has added features and control structures
that extend its power beyond standard APL. Although it can be
used as a conventional procedural programming language, it can
also be used as a pure functional programming language.
ports: Dec, NeXT, SGI, Sun-3, Sun-4, VAX, RS/6000, MIPS, Mac, Acorn
IBM-PC, Atari, 3b1, Amiga
updated: 1992/10/31
language: Ratfor
package: ? ratfor ?
version: ?
parts: translator(Ratfor->Fortran IV)
author: Brian Kernighan and P.J. Plauger (wrote the book anyway)
how to get: comp.sources.unix archives volume 13
description: Ratfor is a front end language for Fortran. It was designed
to give structured control structures to Fortran. It is
mainly of historical significance.
updated: ?
language: Y (cross between C and Ratfor)
package: y+po
version: ?
parts: compiler
author: Jack W. Davidson and Christopher W. Fraser
how to get: ftp pub/y+po.tar.Z from ftp.cs.princeton.edu
description: Davidson/Fraser peephole optimizer PO [1-3] [where the GCC RTL
idea and other optimization ideas came from] along with the Y
compiler [cross between C+ratfor] is ftpable from
ftp.cs.princeton.edu: /pub/y+po.tar.Z. It is a copy of the
original distribution from the University of Arizona during the
early 80's, totally unsupported, almost forgotten [do not bug
the authors] old code, possibly of interest to
compiler/language hackers.
reference: Jack W. Davidson and Christopher W. Fraser, "The Design and
Application of a Retargetable Peephole Optimizer", TOPLAS, Apr.
1980.
Jack W. Davidson, "Simplifying Code Through Peephole
Optimization" Technical Report TR81-19, The University of
Arizona, Tucson, AZ, 1981.
Jack W. Davidson and Christopher W. Fraser, "Register
Allocation and Exhaustive Peephole Optimization"
Software-Practice and Experience, Sep. 1984.
status: history
updated: ?
electrical engineering languages
-------------------------------------------------------------------------------
category: electrical engineering languages
description: These are languages used for simulating, designing, and
specifying circuits.
language: CASE-DSP (Computer Aided Software Eng. for Digital Signal Proc)
package: Ptolemy
version: 0.4.1
parts: grahpical algorithm layout, code generator, simulator
author: ?
how to get: ftp pub/ptolemy/* from ptolemy.bekeley.edu
description: Ptolemy provides a highly flexible foundation for the
specification, simulation, and rapid prototyping of systems.
It is an object oriented framework within which diverse models
of computation can co-exist and interact. For example, using
Ptolemy a data-flow system can be easily connected to a
hardware simulator which in turn may be connected to a
discrete-event system, etc. Because of this, Ptolemy can be
used to model entire systems.
In addition, Ptolemy now has code generation capabilities.
from a flow graph description, Ptolemy can generate both C code
and DSP assembly code for rapid prototyping. Note that code
generation is not yet complete, and is included in the current
release for demonstration purposes only.
requires: C++, C
ports: Sun-4, MIPS/Ultrix; DSP56001, DSP96002.
status: active research project
discussion: ptolemy-hackers-request@ohm.berkeley.edu
contact: ptolemy@ohm.berkeley.edu
updated: 1993/04/22
language: EDIF (Electronic Design Interchange Format)
package: Berkeley EDIF200
version: 7.6
parts: translator-building toolkit
author: Wendell C. Baker and Prof A. Richard Newton of the Electronics
Research Laboratory, Department of Electrical Engineering and
Computer Sciences at the University of California, Berkeley, CA
how to get: ftp from pub/edif in ic.berkeley.edu
description: ?
restriction: no-profit w/o permission
ports: ?
updated: 1990/07
language: Verilog, XNF
package: XNF to Verilog Translator
version: ?
parts: translator(XNF->Verilog)
author: M J Colley <martin@essex.ac.uk>
how to get: ftp pub/dank/xnf2ver.tar.Z from punisher.caltech.edu
description: This program was written by a postgraduate student as part
of his M.Sc course, it was designed to form part a larger
system operating with the Cadence Edge 2.1 framework. This
should be born in mind when considering the construction
and/or operation of the program.
updated: ?
language: VHDL
package: ALLIANCE
version: 1.1
parts: compiler, simulator, tools and environment, documentation
author: ?
how to get: ftp pub/cao-vlsi/alliance from ftp-masi.ibp.fr
description: ALLIANCE 1.1 is a complete set of CAD tools for teaching
Digital CMOS VLSI Design in Universities. It includes VHDL
compiler and simulator, logic synthesis tools, automatic place
and route, etc... ALLIANCE is the result of a ten years effort
at University Pierre et Marie Curie (PARIS VI, France).
ports: Sun4, also not well supported: Mips/Ultrix, 386/SystemV
discussion: alliance-request@masi.ibp.fr
contact: cao-vlsi@masi.ibp.fr
updated: 1993/02/16
--
Send compilers articles to compilers@iecc.com or
{ima | spdcc | world}!iecc!compilers. Meta-mail to compilers-request@iecc.com.